home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 May / EnigmA AMIGA RUN 18 (1997)(G.R. Edizioni)(IT)[!][issue 1997-05][EAR-CD II].iso / earcd / gfx / fract / lfracs.lha / LFracs-Source.lha / LFracs-Source / StdFuncs.c < prev    next >
C/C++ Source or Header  |  1997-01-08  |  3KB  |  80 lines

  1. /* StdFuncs.c */
  2.  
  3. #include "StdInc.h"
  4. #include "StdFuncs.h"
  5.  
  6.  
  7. struct Library *open_library(char *name)
  8. {
  9.  struct Library *lib_ptr;
  10.  
  11.    lib_ptr = (struct Library *) OpenLibrary((UBYTE *) name,0L);
  12.   if (!lib_ptr) {
  13.      printf("no %s\n",name);
  14.      close_libs();
  15.      exit(FALSE);
  16.   }
  17.  return lib_ptr;
  18. }
  19.  
  20. void open_libs(short flags)
  21. {
  22.    GfxBase=NULL; IntuitionBase=NULL; DosLibrary=NULL; GadToolsBase=NULL;
  23.    MathBase=NULL; MathTransBase=NULL; AslBase=NULL; UtilityBase=NULL;
  24.  
  25.   if (flags & GRAPHICS_LIB)
  26.      GfxBase = (struct GfxBase *) open_library("graphics.library");
  27.   if (flags & INTUITION_LIB)
  28.      IntuitionBase = (struct IntuitionBase *) open_library("intuition.library");
  29.   if (flags & DOS_LIB)
  30.      DosLibrary = (struct DosLibrary *) open_library("dos.library");
  31.   if (flags & MATHFFP_LIB)
  32.      MathBase = open_library("mathffp.library");
  33.   if (flags & MATHTRANS_LIB)
  34.      MathTransBase = open_library("mathtrans.library");
  35.   if (flags & GADTOOLS_LIB)
  36.      GadToolsBase = open_library("gadtools.library");
  37.   if (flags & ASL_LIB)
  38.      AslBase = open_library("asl.library");
  39.   if (flags & UTILITY_LIB)
  40.      UtilityBase = open_library("utility.library");
  41.   if (flags & LOCALE_LIB)        /* don't exit if there's no locale.library! */
  42.      LocaleBase = (struct Library *) OpenLibrary((UBYTE *)"locale.library",0L);
  43. }
  44.  
  45. void close_libs(void)
  46. {
  47.  if (GfxBase)       CloseLibrary((struct Library *) GfxBase);
  48.  if (IntuitionBase) CloseLibrary((struct Library *) IntuitionBase);
  49.  if (DosLibrary)    CloseLibrary((struct Library *) DosLibrary);
  50.  if (MathBase)      CloseLibrary((struct Library *) MathBase);
  51.  if (MathTransBase) CloseLibrary((struct Library *) MathTransBase);
  52.  if (GadToolsBase)  CloseLibrary((struct Library *) GadToolsBase);
  53.  if (AslBase)       CloseLibrary((struct Library *) AslBase);
  54.  if (UtilityBase)   CloseLibrary((struct Library *) UtilityBase);
  55.  if (LocaleBase)    CloseLibrary((struct Library *) LocaleBase);
  56. }
  57.  
  58. struct Window *open_window (short x,short y,short w,short h,
  59.                             char *name,ULONG flags,ULONG idcmp,
  60.                             struct Gadget *gadget)
  61. {
  62.  struct Screen *scr;
  63.  
  64.    scr = IntuitionBase->ActiveScreen;
  65.  
  66.  return (struct Window *) OpenWindowTags(NULL,
  67.                                WA_Title,name,
  68.                                WA_Left,x, WA_Top,y,
  69.                                WA_Width,w, WA_Height,h, WA_MinWidth,180,
  70.                                WA_MinHeight,scr->WBorTop+scr->Font->ta_YSize+1,
  71.                                WA_Flags,flags, WA_IDCMP,idcmp,
  72.                                WA_Gadgets,gadget,
  73.                                TAG_DONE);
  74. }
  75.  
  76. void cls(struct Window *win)
  77. {
  78.    SetRast(win->RPort,0); RefreshWindowFrame(win);
  79. }
  80.